
\begin{abstract}

The process of debugging has become a very important task in software development processes.
% Un alto porcentaje de lo errores detectados en sitemas de c\'omputo son producto de una especificaci\'on inadecuada, errores de dise\~no del software, interferencias transitorias o permanentes en las comunicaciones, entre otros.
Many errors found in computer systems are the result of bad specifications, software design errors and transient or permanent interference in communications.
%El concepto de ``workaround'' se fundamenta en la idea subyacente de aprovechar al m\'aximo la redundancia impl\'icita contenida en los sistemas computacionales. Por otro lado, las técnicas de análisis basado en SAT proveen mecanismos automáticos para la verificación de sistemas. En este trabajo se propone un algoritmo de bug fixing basado en el concepto de ``Workarounds'' y en técnicas de análisis basado en satisfactibilidad (SAT-based analysis). 
The concept of ``workaround'' is based on the idea of exploiting the implicit redundancy contained in software components. Furthermore, analysis techniques based on SAT provide automated mechanisms for the verification of systems. We propose an algorithm for bug fixing based on the concept of ``workarounds'', and using analysis techniques based on satisfiability (SAT-based analysis). 
%El mecanismo propuesto utiliza las herramientas Alloy-Analyzer y Dynalloy-Analyzer para la  detección de Workarounds Permanenentes (WaP) que permitirán al desarrollador una solución alternativa ante la presencia de un bug.
The proposed mechanism uses TACO tools to traslate specifications and the Dynalloy and Alloy Analyzers to detect Permanent Workarounds (Pwa). The Pwa will provide alternative solutions to be checked by a developer, for fixing bugs. 
\end{abstract}
